package org.spring.cloud.consumer.ribbon.web;

import org.spring.cloud.consumer.ribbon.service.ComputeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

@RestController
public class ConsumerController {

	@Autowired
    RestTemplate restTemplate;
	
	 @Autowired
	 private ComputeService computeService;

    @RequestMapping(value = "/add", method = RequestMethod.GET)
    public String add() {
        return restTemplate.getForEntity("http://CLOUD-SERVICE/add?a=10&b=20", String.class).getBody();
    }
    
    /**
     * 熔断器
     * @return
     */
    @RequestMapping(value = "hystrix/add", method = RequestMethod.GET)
    public String addHystrix() {
        return computeService.compute();
    }
}
